package com.hospital.common.dto.management.module;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

@Data
public class RegisterDto {
    /**
     * 医生名
     */
    @NotBlank(message = "医生名不能为空")
    private String name;

    /**
     * 医生账号
     */
    @NotBlank(message = "医生账号不能为空")
    private String account;

    /**
     * 密码
     */
    @NotBlank(message = "密码不能为空")
    private String password;

    /**
     * 性别(0男1女)
     */
    @NotNull(message = "性别不能为空")
    private Integer sex;

    /**
     * 手机号
     */
    @NotBlank(message = "手机号不能为空")
    private String phone;

    /**
     * 职称id
     */
    @NotNull(message = "职称id不能为空")
    private Long titleId;

    /**
     * 职称
     */
    @NotBlank(message = "职称不能为空")
    private String title;

    /**
     * 专业特长
     */
    @NotBlank(message = "专业特长不能为空")
    private String specialty;

    /**
     * 执业资格证编号
     */
    @NotNull(message = "执业资格证编号不能为空")
    private Long qualificationNumber;

    /**
     * 执业类别
     */
    @NotBlank(message = "执业类别不能为空")
    private String qualificationType;

    /**
     * 执业类别id
     */
    @NotNull(message = "执业类别id不能为空")
    private Integer qualificationTypeId;

    /**
     * 学历
     */
    @NotBlank(message = "学历不能为空")
    private String educationLevel;

    /**
     * 毕业院校
     */
    @NotBlank(message = "毕业院校不能为空")
    private String graduatedSchool;

    /**
     * 从业年限
     */
    @NotNull(message = "从业年限不能为空")
    private Integer yearsOfExperience;

    /**
     * 工作地址
     */
    @NotBlank(message = "工作地址不能为空")
    private String officeAddress;

    /**
     * 头像文件夹名
     */
    private String photoDirPath;

    /**
     * 头像文件名
     */
    private String photoFile;

    /**
     * 科室id
     */
    @NotNull(message = "科室id不能为空")
    private Long departmentId;

    /**
     * 所属科室
     */
    @NotBlank(message = "所属科室不能为空")
    private String department;

    /**
     * 挂号费
     */
    @NotNull(message = "挂号费不能为空")
    private Double registrationFee;
}
